// 商品相关类型定义 - 与后端Product实体保持一致

// 商品实体 - 与后端Product模型完全对应
export interface Product {
  id: number                // 后端: Long id，JSON序列化为number
  name: string
  brandId: number           // 后端: Long brandId，JSON序列化为number
  categoryId: number        // 后端: Long categoryId，JSON序列化为number
  summary?: string          // 商品简介
  marketPrice?: number      // 后端: BigDecimal marketPrice，JSON序列化为number
  price: number             // 后端: BigDecimal price，JSON序列化为number
  stock: number             // 库存
  mainPicUrl?: string       // 主图片URL
  picUrls?: string          // 图片url列表 逗号分隔
  status: number            // 状态 0-下架 1-上架
  isHot: number             // 是否热门 0-普通 1-热门
  description?: string      // 商品描述详情
  salesCount: number        // 商品销量
  isDel: number             // 逻辑删除 0-正常 1-删除
  createdTime: string       // 后端: LocalDateTime，JSON序列化为ISO字符串
  createdBy?: number        // 后端: Long，JSON序列化为number
  updateTime: string        // 后端: LocalDateTime，JSON序列化为ISO字符串
  updateBy?: number         // 后端: Long，JSON序列化为number
}

// 商品查询参数
export interface ProductQueryParams {
  keyword?: string
  brandId?: number
  categoryId?: number
  status?: number
  isHot?: number
  minPrice?: number    // 最低价格
  maxPrice?: number    // 最高价格
  page: number
  size: number
}

// 商品分页响应 - 与后端返回格式保持一致
export interface ProductPageResponse {
  total: number
  list: Product[]
}

// 批量库存操作请求
export interface BatchStockRequest {
  productIds: number[]
  operationType: string // 'add' | 'subtract' | 'set'
  amount: number
}

// 商品克隆请求
export interface CloneRequest {
  count: number
  namingRule: string
}

// 商品组合请求
export interface ProductBundleRequest {
  name: string
  description: string
  productIds: number[]
  bundlePrice: number
} 